package com.wsp.apimanagement.service;

import com.wsp.apimanagement.pojo.dto.Result;
import com.wsp.apimanagement.pojo.entity.Admin;
import com.wsp.apimanagement.pojo.entity.Module;
import com.wsp.apimanagement.pojo.entity.Source;

import java.io.BufferedInputStream;

/**
 * Package: com.wsp.apimanagement.service
 * Description： TODO
 *
 * @author: 巫思平
 * Copyright: Copyright (c) 2020
 * Version: 1
 */
public interface AdminService {
    /**
     * 添加模块
     * @param name 模块名称
     * @param file 模块图片
     * @param fileName 原文件名
     */
    Result<Module> insertModule(String name, BufferedInputStream file, String fileName);

    /**
     * 上传资源
     * @param moduleName 模块名
     * @param sourceTitle 资源标题
     * @param file 资源
     * @param fileName 原资源名
     * @return 结果
     */
    Result<Source> insertSource(String moduleName, String sourceTitle, BufferedInputStream file, String fileName);

    /**
     * 上传视频封面
     * @param sourceId 资源名
     * @param file 文件
     * @param fileName 原文件名
     * @return 结果
     */
    Result<Source> insertCover(long sourceId, BufferedInputStream file, String fileName);

    /**
     * 添加管理员
     */
    void insertAdmin(Admin admin);

    /**
     * 根据账号查找管理员
     * @param adminCount 管理员账号
     * @return 管路员信息
     */
    Admin queryAdminByCount(String adminCount);
}
